#ifndef __CCUSTOM_SLIDERCTRL_CONTROL_H__
#define __CCUSTOM_SLIDERCTRL_CONTROL_H__

#include <gdiplus.h>
using namespace Gdiplus;

class CCustomSliderCtrl : public CSliderCtrl
{
	DECLARE_DYNAMIC(CCustomSliderCtrl)

//*************************************************************************************************//Class Function
public:
	CCustomSliderCtrl(void);
	~CCustomSliderCtrl(void);

	void Initialize(HWND hPParentWnd, HWND hParentWnd, HDC hBgDC, HDC hDrawDC, int nParentx = 0, int nParenty = 0);
	void DrawUI();

//*************************************************************************************************//Class Parameters
public:
	enum{
		SLD_NORMAL = 0,		    // Column 1 : NORMAL state
		SLD_PRESSED = 1,        // Column 3 : PRESSED state
	};

	int m_nState;
	BOOL m_bIsTracking;

private:

	Gdiplus::SolidBrush* m_pBrush;
	Gdiplus::Pen* m_pPen; 
	
	//UI Rect Parameter
	CRect m_rtRect, m_rtPRect, m_rtPPRect;
	
	//Image and Handle Parameter
	Image* m_pImg[4];
	HDC m_hBgDC, m_hDrawDC;
	HWND m_hPParentWnd, m_hParentWnd;

//*************************************************************************************************//Class Message
public:
	virtual void PreSubclassWindow();
	virtual void DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/);
	DECLARE_MESSAGE_MAP()
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
};
#endif
